#ifndef _ABSTRACT_WC_
#define _ABSTRACT_WC_

#include <boost/filesystem/operations.hpp>
#include <string>

struct WordCounter
{
    WordCounter(std::string const & file);
    virtual unsigned count() = 0;

protected:
    bool wasModified();

    std::string file_;
    unsigned counter_;
    
private:
    std::time_t time_;
};


struct NewWord
{
    NewWord();
    bool operator() (char c);
private:
    bool last_state_;
};

#endif
